package com.amu.aidemo.ui.model

/**
 * 语音助手状态
 */
enum class AssistantState {
    IDLE,       // 待机
    CONNECTING, // 连接中（正在连接服务器，请稍候）
    LISTENING,  // 监听中
    THINKING,   // 思考中
    SPEAKING    // 回复中
}

/**
 * 消息类型
 */
enum class MessageType {
    USER,       // 用户消息
    ASSISTANT   // 助手消息
}

/**
 * 聊天消息
 */
data class ChatMessage(
    val id: String,
    val content: String,
    val type: MessageType,
    val timestamp: Long = 0L, // 消息创建时间
    val asrDuration: Long = 0L, // ASR 耗时（毫秒）
    val llmDuration: Long = 0L, // LLM 耗时（毫秒）
    val ttsDuration: Long = 0L  // TTS 耗时（毫秒）
)

/**
 * 语音助手UI状态
 */
data class VoiceAssistantUiState(
    val state: AssistantState = AssistantState.IDLE,
    val messages: List<ChatMessage> = emptyList(),
    val currentTranscript: String = "",
    val isAnimating: Boolean = false
)
